Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Authz fixes #3132

Merged
merged 9 commits into from
May 29, 2024
Merged

fix: Authz fixes #3132

merged 9 commits into from
May 29, 2024

Conversation

markphelps
Copy link
Collaborator

@markphelps markphelps commented May 28, 2024

  • marks authz as experimental
  • skips authz middleware if authn is marked as skip
  • always skips two known authn methods (GetAuthenticationSelf and ExpireAuthenticationSelf) required for UI and logout
  • sets policy package name to package flipt.authz.v1

@markphelps markphelps requested a review from a team as a code owner May 28, 2024 21:06
Copy link
Member

@GeorgeMac GeorgeMac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good. Just one outstanding question around whether or not SkipsAuthorization check is needed in the skipped function.

Also, I wonder, if we do this skips authorization thing at all, if it should come separately after authentication has happened, so that we support authn without authz. Which I think is a likely case for some things.
That only applies if we have entire services though that skip authz.

@markphelps markphelps merged commit 5837f9b into authz May 29, 2024
29 checks passed
@markphelps markphelps deleted the authz-fixes branch May 29, 2024 15:59
kodiakhq bot added a commit that referenced this pull request May 30, 2024
* feat(wip): authz/rbac

feat: impl authz middleware

feat: impl authz middleware

chore: fix panic and bad redux selector

chore: fmt ui

chore: refactor

chore: fix build, change to single role, default role

chore: fix build, change to single role, default role

chore: rm unneeded files

feat: configurable roles/policies

chore: config schema and tests

chore: mv back events to audit package

chore: reset ui folder

chore: revert ui back to main

chore: policy schema, visibility of errors

chore: add policy schema test

chore: rebase on main

Signed-off-by: Mark Phelps <[email protected]>

* chore: start adding role attribute path/jmes

* chore: mod tidy

* Authz OIDC tests (#3098)

* chore: fix tests, add role attribute path / role mapping to oidc server tests

Signed-off-by: Mark Phelps <[email protected]>

* chore: authz middleware tests

Signed-off-by: Mark Phelps <[email protected]>

* chore: fix audit tests

Signed-off-by: Mark Phelps <[email protected]>

* chore: proto regen

Signed-off-by: Mark Phelps <[email protected]>

* chore: try to fix marshal audit events behaviour

Signed-off-by: Mark Phelps <[email protected]>

* chore: fix failing test

Signed-off-by: Mark Phelps <[email protected]>

---------

Signed-off-by: Mark Phelps <[email protected]>

* chore: refactor request models to include scope

Signed-off-by: Mark Phelps <[email protected]>

* chore: fix engine_test

* chore: make scope optional and use subject if not provided

* chore: fix executor_test

Signed-off-by: Mark Phelps <[email protected]>

* chore: fix log sink test

Signed-off-by: Mark Phelps <[email protected]>

* chore: consolidate some auth metadata to make creating policies simpler (#3106)

* refactor(server/authz): make policy and data external dependencies (#3108)

* refactor(server/authz): rename scope to resource

Signed-off-by: George MacRorie <[email protected]>

* feat(config/authz): add policy and data source configuration

Signed-off-by: George MacRorie <[email protected]>

* refactor(server/authz): make policy and data external dependencies

Signed-off-by: George MacRorie <[email protected]>

* refactor(cmd/grpc): integrate new authz Engine changes

Signed-off-by: George MacRorie <[email protected]>

* fix(server/authz): ensure error is captured in return

Signed-off-by: George MacRorie <[email protected]>

* fix(config): allow policy and data sources to be empty

Signed-off-by: George MacRorie <[email protected]>

* refactor(server/authz): support separate poll durations for policy and data

Signed-off-by: George MacRorie <[email protected]>

* fix(config): validate non zero poll duration for authz sources

Signed-off-by: George MacRorie <[email protected]>

* fix(cmd/grpc): calls to authz engine with changes to polling

Signed-off-by: George MacRorie <[email protected]>

---------

Signed-off-by: George MacRorie <[email protected]>

* refactor(authz): pass entire request and authentication to IsAllowed (#3126)

Signed-off-by: George MacRorie <[email protected]>

* chore: set raw claims if they exist in authz metadata (#3125)

* chore: go mod tidy

Signed-off-by: Mark Phelps <[email protected]>

* chore: set raw claims if they exist in authz metadata

Signed-off-by: Mark Phelps <[email protected]>

* chore: fix authn oidc server test

Signed-off-by: Mark Phelps <[email protected]>

* chore: skip authz on auth public server

Signed-off-by: Mark Phelps <[email protected]>

* chore: log for debugging

Signed-off-by: Mark Phelps <[email protected]>

---------

Signed-off-by: Mark Phelps <[email protected]>

* fix: Authz fixes (#3132)

* chore: go mod tidy

Signed-off-by: Mark Phelps <[email protected]>

* fix: authz endpoint skip for getauthself/deleteauthself

Signed-off-by: Mark Phelps <[email protected]>

* chore: rm claims unmarshal for now

* chore: make authorization experimental

Signed-off-by: Mark Phelps <[email protected]>

* chore: add request methods to auth requests

Signed-off-by: Mark Phelps <[email protected]>

* chore: add schema

* chore: set package name to flipt.authz.v1

* chore: fix telemetry test

Signed-off-by: Mark Phelps <[email protected]>

---------

Signed-off-by: Mark Phelps <[email protected]>

* chore: rename poll duration to poll interval

Signed-off-by: Mark Phelps <[email protected]>

* chore: mod/work sync

Signed-off-by: Mark Phelps <[email protected]>

* chore: fix config test

Signed-off-by: Mark Phelps <[email protected]>

* chore: rm unused supports authz config; fmt cache config

---------

Signed-off-by: Mark Phelps <[email protected]>
Signed-off-by: George MacRorie <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants